package com.dms.modules.order.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("order_refund")
@ApiModel("订单退款实体")
public class OrderRefund {
    
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("退款ID")
    private Long id;
    
    @ApiModelProperty("订单ID")
    private Long orderId;
    
    @ApiModelProperty("订单项ID，NULL表示整单退款")
    private Long orderItemId;
    
    @ApiModelProperty("用户ID")
    private Long userId;
    
    @ApiModelProperty("退款编号")
    private String refundNo;
    
    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount;
    
    @ApiModelProperty("退款原因")
    private String refundReason;
    
    @ApiModelProperty("退款类型：0-仅退款 1-退货退款")
    private Integer refundType;
    
    @ApiModelProperty("退款状态：0-申请中 1-商家审核 2-退货中 3-退款中 4-已完成 5-已拒绝")
    private Integer status;
    
    @ApiModelProperty("拒绝原因")
    private String refuseReason;
    
    @ApiModelProperty("凭证图片")
    private String evidenceImgs;
    
    @ApiModelProperty("退货物流单号")
    private String returnTracking;
    
    @ApiModelProperty("退货物流公司")
    private String returnCompany;
    
    @ApiModelProperty("退款时间")
    private LocalDateTime refundTime;
    
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
    
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;
    
    @ApiModelProperty("是否删除")
    @TableLogic
    private Integer deleted;
} 